#ifndef RANDOMGENERATIONCROSSOVER_H_
#define RANDOMGENERATIONCROSSOVER_H_

#include "../Crossover.h"
#include "../../Environment/Environment.h"

/**
 * This crossover generates *random* solutions when asked to cross two
 * solutions.  In other words, it completely ignores the input and asks
 * the environment to generate random solutions.
 * 
 * This class is mostly useless.  It's primary use is to implement
 * a very poor genetic algorithm technique (random solution generation)
 * so that other techniques can be demonstrated as superior. 
 */
class RandomGenerationCrossover : public Crossover 
{
    public:
        RandomGenerationCrossover(Environment*);                            /**< Constructor that requires an environment to be associated with                 */
        virtual void cross(Solution*, Solution*, Solution* &, Solution* &); /**< Basic crossover that really just creates random children regardless of parents */
        
    private:
        Environment* environment;
};

#endif /*RANDOMGENERATIONCROSSOVER_H_*/
